package com.bestcem.xm.txtanls.controller.param.convert;

import com.bestcem.xm.txtanls.controller.vo.keyword.KeywordCountVO;
import com.bestcem.xm.txtanls.controller.vo.keyword.ListKeywordVO;
import com.bestcem.xm.txtanls.controller.vo.topic.TopicVO;
import com.bestcem.xm.txtanls.service.dto.keyword.KeywordCountDTO;
import com.bestcem.xm.txtanls.service.dto.keyword.ListKeywordDTO;

import java.util.ArrayList;
import java.util.List;

/**
 * @author liheng
 * @version v2.0
 * @date 2021/8/6 14:02
 */

public class KeywordConvert {
    private KeywordConvert() {

    }

    /**
     * 话题相关，关键词DTO转为页面使用VO
     *
     * @param listKeywordDTO 关键词DTO list
     * @return proto 关键词message
     * @author liheng
     * @date 2021/5/13 21:13
     */
    public static ListKeywordVO keywordToVo(ListKeywordDTO listKeywordDTO) {
        return new ListKeywordVO(convertKeyWordDTOList(listKeywordDTO.getKeywords()), listKeywordDTO.getTotal());
    }

    /**
     * 话题相关，关键词DTO转为页面使用VO
     *
     * @param keywordCountDTOS 关键词DTO list
     * @return proto 关键词message
     * @author liheng
     * @date 2021/5/13 21:13
     */
    public static List<KeywordCountVO> convertKeyWordDTOList(List<KeywordCountDTO> keywordCountDTOS) {
        ArrayList<KeywordCountVO> keywords = new ArrayList<>(keywordCountDTOS.size());
        for (KeywordCountDTO keywordCountDTO : keywordCountDTOS) {
            List<TopicVO> topics = TopicConvert.convertTopicDTOList(keywordCountDTO.getTopics());
            KeywordCountVO listKeywordVO = new KeywordCountVO(keywordCountDTO.getName(), keywordCountDTO.getCount(), keywordCountDTO.getRadio(), topics);
            keywords.add(listKeywordVO);
        }
        return keywords;
    }


}
